const Router = require('koa-router')
const router=new Router()
const home = require('./home')
const user = require('./user')
const collect = require('./collect')
const drug =require('./drug')
const fs=require('fs')
const path=require('path')

router.get('/', async (ctx) => {
    ctx.body='首页'
})

// 图片上传
router.post('/upload',async(ctx)=>{
    // 前端的name要于此出 file相同 。 如果叫 img 前端组件也需要name='img'
    const file = ctx.request.files.file; // 获取上传文件

    console.log('file',ctx.request.file)
    // 创建可读流
    const reader = fs.createReadStream(file.filepath);
    // const random_num = Math.random(16)
    // const fileName = random_num+'.'+file.originalFilename.split('.')[1]
    // let filePath = path.join(__dirname, '../public/uploads/') + `/${fileName}`;
    let filePath = path.join(__dirname, '../public/') + `/${file.originalFilename}`;
    
    // 创建可写流
    const upStream = fs.createWriteStream(filePath);
    // 可读流通过管道写入可写流
    reader.pipe(upStream);
    // 最后将图片的存储路径返回
    // ctx.body = {'url':`${ctx.origin}/uploads/${fileName}`}    
    ctx.body = {'url':`http://localhost/8080/api/${file.originalFilename}`}     
})
// router.post('/upLoad', async (ctx) => {
//     console.log('0000---',ctx.request) 
//     // console.log(ctx.request.files.file) // 打印文件内容
//      console.log(ctx.request.body) // 打印FormData的护具
//     const file = ctx.request.files.file; // 获取上传文件
//     // 创建可读流
//     const reader = fs.createReadStream(file.path);
//     let filePath = path.join(__dirname, 'public/upload/') + `${file.name}`;
//     // 创建可写流
//     const upStream = fs.createWriteStream(filePath);
//     // 可读流通过管道写入可写流
//     reader.pipe(upStream);
//     console.log(filePath)
//     ctx.body = {
//       msg: '上传成功!',
//       url:filePath
//     };
  
//   })

//router.use()调用中间件
router.use('/user', user.routes(), user.allowedMethods())
router.use('/home', home.routes(), home.allowedMethods())
router.use('/collect', collect.routes(), collect.allowedMethods())
router.use('/drug', drug.routes(), drug.allowedMethods())


module.exports = router
